home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Dialogs.idl < prev    next >
Text File  |  1996-05-01  |  4KB  |  139 lines

  1. /*
  2.      File:        Dialogs.idl
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DIALOGS_IDL__
  19. #define __DIALOGS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __ERRORS_IDL__
  25. #include <Errors.idl>
  26. #endif
  27. #ifndef __MEMORY_IDL__
  28. #include <Memory.idl>
  29. #endif
  30. #ifndef __MENUS_IDL__
  31. #include <Menus.idl>
  32. #endif
  33. #ifndef __CONTROLS_IDL__
  34. #include <Controls.idl>
  35. #endif
  36. #ifndef __WINDOWS_IDL__
  37. #include <Windows.idl>
  38. #endif
  39. #ifndef __TEXTEDIT_IDL__
  40. #include <TextEdit.idl>
  41. #endif
  42. #ifndef __EVENTS_IDL__
  43. #include <Events.idl>
  44. #endif
  45.  
  46. #ifdef __SOMIDL__
  47.  
  48. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  49. #if OLDROUTINENAMES
  50. /*
  51.  These constants lived briefly on ETO 16.  They suggest
  52.  that there is only one index you can use for the OK 
  53.  item, which is not true.  You can put the ok item 
  54.  anywhere you want in the DITL.
  55. */
  56. #endif
  57. /*    Dialog Item List Manipulation Constants    */
  58. typedef SInt16                    DITLMethod;
  59.  
  60. typedef SInt16                    StageList;
  61.  
  62. typedef DialogPtr                DialogRef;
  63.  
  64. typedef SOMLargeStruct            DialogRecord;                /* Derived from a struct of 170 bytes in size */
  65.  
  66. typedef OpaquePtr                DialogPeek;                    /* Substituted OpaquePtr for ``DialogRecord*'' */
  67.  
  68. typedef SOMLargeStruct            DialogTemplate;                /* Derived from a struct of 276 bytes in size */
  69.  
  70. typedef OpaquePtr                DialogTPtr;                    /* Substituted OpaquePtr for ``DialogTemplate*'' */
  71.  
  72. typedef OpaquePtr                DialogTHndl;                /* Substituted OpaquePtr for ``DialogTPtr*'' */
  73.  
  74. typedef SOMLargeStruct            AlertTemplate;                /* Derived from a struct of 12 bytes in size */
  75.  
  76. typedef OpaquePtr                AlertTPtr;                    /* Substituted OpaquePtr for ``AlertTemplate*'' */
  77.  
  78. typedef OpaquePtr                AlertTHndl;                    /* Substituted OpaquePtr for ``AlertTPtr*'' */
  79.  
  80. /* new type abstractions for the dialog manager */
  81. typedef SInt16                    DialogItemIndexZeroBased;
  82.  
  83. typedef SInt16                    DialogItemIndex;
  84.  
  85. typedef SInt16                    DialogItemType;
  86.  
  87. /* dialog manager callbacks */
  88. typedef OpaquePtr SoundProcPtr;
  89. typedef OpaquePtr SoundUPP;
  90. typedef OpaquePtr ModalFilterProcPtr;
  91. typedef OpaquePtr ModalFilterUPP;
  92. typedef OpaquePtr UserItemProcPtr;
  93. typedef OpaquePtr UserItemUPP;
  94. /*
  95.     NOTE: Code running under MultiFinder or System 7.0 or newer
  96.     should always pass NULL to InitDialogs.
  97. */
  98. #if CGLUESUPPORTED
  99. #endif
  100. #if OLDROUTINENAMES
  101. #if CGLUESUPPORTED
  102. #endif
  103. #endif
  104. /*
  105. *****************************************************************************
  106. *                                                                           *
  107. * The conditional STRICT_DIALOGS has been removed from this interface file. *
  108. * The accessor macros to a DialogRecord are no longer necessary.            *
  109. *                                                                           *
  110. *****************************************************************************
  111.  
  112. Details:
  113. The original purpose of the STRICT_ conditionals and accessor macros was to
  114. help ease the transition to Copland.   Shared data structures are difficult
  115. to coordinate in a preemptive multitasking OS.  By hiding the fields in a
  116. WindowRecord and other data structures, we would begin the migration to 
  117. system data structures being completely hidden from applications. 
  118.  
  119. After many design reviews, it was finally concluded that with this sort of
  120. migration, the system could never tell when an application was no longer 
  121. peeking at a WindowRecord, and thus the data structure might never become 
  122. system owned.  Additionally, there were many other limitations in the classic
  123. toolbox that were begging to be addressed.
  124.  
  125. The final decision was to leave the traditional toolbox as a compatibility mode.
  126. The preferred toolbox API for Copland is a new SOM(tm) based architecture 
  127. (e.g. HIWindows.idl).  Windows, menu, controls, etc are each a SOM object 
  128. with methods for drawing, event handling, and customization.
  129.  
  130. */
  131. #endif
  132. #if FOR_SYSTEM7_ONLY
  133. #endif
  134.  
  135. #endif /* __SOMIDL__ */
  136.  
  137. #endif /* __DIALOGS_IDL__ */
  138.  
  139.